import axios from 'axios'
// 导入进度条nprogress和nprogress的样式
import nprogress from 'nprogress'
import 'nprogress/nprogress.css'
import { get } from '../Storage/index.js'
const requests = axios.create({
  baseURL: '/api',
  // 定义请求时间超过5秒就请求超时
  timeout: 5000
})
// 在配置axios时也要配置请求拦截器 和响应拦截器
// 添加请求拦截器
requests.interceptors.request.use(function(config) {
  // 在发送请求之前做些什么
  nprogress.start()
  const token = get('token')
  if (token) {
    config.headers.token = token
  }
  return config
}, function(error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})
// 添加响应拦截器
requests.interceptors.response.use(function(response) {
  // 对响应数据做点什么
  nprogress.done()
  if (response.data.code === 10) {
    window.location.assign('/#/login')
  } else {
    return response.data
  }
}, function(error) {
  // 对响应错误做点什么
  return Promise.reject(error)
})
export default requests
